Overview of PrizmDoc > Understanding PrizmDoc > PrizmDoc Application Services |
PrizmDoc Application Services is a service that provides application-level logic for the viewer; such as enabling document viewing through the PrizmDoc Server, saving and loading of markup, and handling opening of documents and creating viewing sessions. This service is designed to be a gateway between the Viewing Client and PrizmDoc Server, and takes the place of the Web Tier samples available in previous versions of the product.
The PrizmDoc Application Services are intended to run on the same server as your web tier, although that is not required. As it is a standalone service, it can run anywhere between your web application and PrizmDoc Server, including on its own separate machine if necessary.
The only requirement that PAS has is that a single, configurable endpoint from the Viewing Client is proxied to PAS. If logic beyond the default behavior is required (such as customized storage of markup, for example), PAS exposes a flexible API allowing the user to handle only very specific viewer requests while delegating all others to PAS.
With the introduction of PrizmDoc Application Services, the Web Tier Samples in PrizmDoc only include a small amount of proxy code, which accomplishes the forwarding of viewer requests to PrizmDoc Application Services. This provides minimal code for customers to implement, and it is code that should not need updates often.
In this architecture, PAS handles the business logic of running the Viewing Client, while providing a flexible API to allow handling only specific calls with custom application logic while letting the rest be handled by the service. Since this is a standalone HTTP service, it does not necessarily need to run on the same machine as the Web Tier anymore. It can also run alongside PrizmDoc Server, or on its own separate machine.
The minimal code that comes with the Web Tier Samples is now truly a suggestion, as any proxy into PAS will accomplish the task. For a more performant solution, we would encourage you to handle proxying through your web server of choice (such as Apache, NginX, or IIS), allowing your web application to only contain your own logic, without the need to integrate any Accusoft sample code.
This is outlined by the architecture below:
For more information on how to configure the PrizmDoc Application Services, refer to the topic Administering PrizmDoc > PrizmDoc Application Services.
In PrizmDoc v11.0 we introduced new features which support the ability to do pre-conversion and long term caching of documents in a central location. To make use of this new functionality, an external instance of a database will need to be configured to run with PAS. The introduction of Application Services handles session management and other stateful operations and lets the PrizmDoc Server handle the document conversion and processing.
PAS is designed to scale out well. In order to install and run PAS on multiple servers, you will need to consider the following:
The following is an illustration of this architecture:
For more information on installing PAS on a multi-server cluster, refer to the topic Running PrizmDoc Application Services on Multiple Servers.